home *** CD-ROM | disk | FTP | other *** search
/ USA Multimedia Atlas / USA Multimedia Atlas - West.iso / setup.ms_ / setup.bin
Text File  |  1994-11-02  |  7KB  |  243 lines

  1. '**************************************************************************
  2. '*                  USA Multimedia Atlas Setup
  3. '**************************************************************************
  4.  
  5. '$INCLUDE 'setupapi.inc'
  6. ''$INCLUDE 'mscpydis.inc'    ''System
  7. '$INCLUDE 'msdetect.inc'    ''Detects Avalilable Disk Space
  8.  
  9. ''Dialog ID's
  10. CONST WELCOME       = 100
  11. CONST ASKQUIT       = 200
  12. CONST DESTPATH      = 300
  13. CONST EXITFAILURE   = 400
  14. CONST EXITQUIT      = 600
  15. CONST EXITSUCCESS   = 700
  16. CONST OPTIONS       = 800
  17. CONST APPHELP       = 900
  18. CONST APPHELP2      = 1500
  19. CONST APPHELP3      = 1700
  20. CONST CHECK         = 2500
  21. CONST TOOBIG        = 6300
  22. CONST BADPATH       = 6400
  23.  
  24. CONST EW_REBOOTSYSTEM  = 67
  25. CONST EW_RESTARTWINDOWS  = 66
  26.  
  27. ''Bitmap ID
  28. CONST LOGO = 1
  29.  
  30. ''Disk Sizes
  31.  
  32. GLOBAL File1
  33. GLOBAL File2
  34. GLOBAL WantedDiskSize&
  35.  
  36. ''File Types
  37. GLOBAL DEST$        ''Default destination directory.
  38. GLOBAL DESTICONS$  ''Default destination subdirectory.
  39. GLOBAL WINDRIVE$    ''Windows Drive Letter.
  40. GLOBAL SRCDRIVE$    ''Source Drive Letter.
  41. GLOBAL OPTCUR$      ''Option selection from option dialog.
  42. GLOBAL CHECKSTATES$
  43. GLOBAL RUNTIME$
  44. GLOBAL AVITOOLS$
  45. GLOBAL MDKTOOLS$
  46. GLOBAL TOOLS$
  47. GLOBAL RET%
  48.  
  49. SrcDir$ = GetSymbolValue("STF_SRCDIR")
  50. WinDir$ = GetWindowsDir()
  51. WinSysDir$ = GetWindowsSysDir()
  52.  
  53. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  54. DECLARE FUNCTION ExitWindows LIB "user" ( mode&, reserved% ) AS INTEGER
  55.  
  56. INIT:
  57.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  58.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  59.  
  60.     MajorVer% = GetWindowsMajorVersion()
  61.     MinorVer% = GetWindowsMinorVersion()
  62.  
  63.     IF  MajorVer% < 3 OR (MajorVer% = 3 AND MinorVer% < 10) THEN
  64.     i% = DoMsgBox("Microsoft Windows version 3.10 or greater is required for this software.  Please upgrade your version of Windows.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  65.         END
  66.     END IF
  67.  
  68.     SetBitmap CUIDLL$, LOGO
  69.     SetTitle "USA Multimedia Atlas"
  70.  
  71.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  72.     IF szInf$ = "" THEN
  73.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  74.     END IF
  75.     ReadInfFile szInf$
  76.  
  77.     WINDRIVE$ = MID$(WinDir$, 1, 1)
  78.     SRCDRIVE$ = MID$(SrcDir$, 1, 1)
  79.     DEST$ = "C:\usaatlas"
  80.  
  81.  
  82. WELCOME:
  83.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  84.     IF sz$ = "CONTINUE" THEN
  85.         UIPop 1
  86.     ELSE
  87.         GOSUB ASKQUIT
  88.         GOTO WELCOME
  89.     END IF
  90.  
  91.  
  92. GETPATH:
  93.     SetSymbolValue "EditTextIn", DEST$
  94.     SetSymbolValue "EditFocus", "END"
  95. GETPATHL1:
  96.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  97.     DEST$ = GetSymbolValue("EditTextOut")
  98.  
  99.     IF sz$ = "CONTINUE" THEN
  100.         IF IsDirWritable(DEST$) = 0 THEN
  101.             GOSUB BADPATH
  102.             GOTO GETPATHL1
  103.          END IF
  104.         UIPop 1
  105.     ELSEIF sz$ = "REACTIVATE" THEN
  106.         GOTO GETPATHL1
  107.     ELSE
  108.         GOSUB ASKQUIT
  109.         GOTO GETPATH
  110.     END IF
  111.  
  112.  
  113.     DESTICONS$ = DEST$ + "\icons"
  114.  
  115. ClearCopyList
  116.  
  117.         WantedDiskSize&=5024000
  118.  
  119.         DiskSize&=GetFreeSpaceForDrive(WINDRIVE$)
  120.  
  121.         If WantedDiskSize& > DiskSize& then
  122.             GOSUB TOOBIG
  123.             ERROR STFQUIT
  124.         EndIf
  125.  
  126.  
  127.     CreateDir DEST$, cmoNone
  128.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  129.     CreateDir DESTICONS$, cmoNone
  130.     OpenLogFile MakePath(DESTICONS$, "LOGFILE.OUT"), 0
  131.  
  132.     WriteToLogFile ""
  133.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  134.     WriteToLogFile "  User chose option: '" + OPTCUR$ + "'"
  135.     WriteToLogFile ""
  136.     WriteToLogFile "May have had to create the directory: " + DEST$
  137.     WriteToLogFile ""
  138.  
  139.  
  140.  '' Install font here
  141.    ' 'WriteToLogFile "Adding font"
  142.     ''CreateIniKeyValue "win.ini", "fonts", "Calligraphic 421 BT (TrueType)", "TT1139M_.FOT", cmoOverwrite
  143.  
  144.  
  145.    ' SetRestartDir WinDir$
  146.  
  147. '' Setting RUNTIME files to be copied
  148.     AddSectionFilesToCopyList "vbrun", SrcDir$, WinSysDir$
  149.     AddSectionFilesToCopyList "app", SrcDir$, Dest$
  150.     AddSectionFilesToCopyList "icons", SrcDir$, DestIcons$
  151.  
  152.     CopyFilesInCopyList
  153.  
  154.     '** create progman group **
  155.     CreateProgmanGroup "USA Multimedia Atlas", "", cmoNone
  156.  
  157.     ShowProgmanGroup  "USA Multimedia Atlas", 1, cmoNone
  158.     CreateProgmanItem "USA Multimedia Atlas", "USA Multimedia Atlas", MakePath(DEST$, "usaatlas.exe ") + MakePath(SRCDRIVE$,""), "", cmoOverwrite
  159.     CreateProgmanItem "USA Multimedia Atlas", "Read Me Now!", MakePath(DEST$,"readme.wri") , "", cmoOverwrite
  160.     CreateProgmanItem "USA Multimedia Atlas", "Deep River Catalog",MakePath( SrcDir$, "Catalog\drpcat.exe") , "", cmoOverwrite
  161.     CreateProgmanItem "USA Multimedia Atlas", "VfW 1.1 Install",MakePath( SrcDir$, "VFW11\setup.exe") , "", cmoOverwrite
  162.     CloseLogFile
  163.  
  164.    ' use exit restart
  165.  
  166.     RET% = DoMsgBox( "After the install is completed please click the Read Me Now icon in the program group.", "Setup", IDOK+MB_TASKMODAL )
  167.    '' RET% = ExitWindows( EW_RESTARTWINDOWS, 0 )
  168.  
  169. QUIT:
  170.     ON ERROR GOTO ERRQUIT
  171.  
  172.     IF ERR = 0 THEN
  173.         dlg% = EXITSUCCESS
  174.     ELSEIF ERR = STFQUIT THEN
  175.         dlg% = EXITQUIT
  176.     ELSE
  177.         dlg% = EXITFAILURE
  178.     END IF
  179. QUITL1:
  180.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  181.     IF sz$ = "REACTIVATE" THEN
  182.         GOTO QUITL1
  183.     END IF
  184.     UIPop 1
  185.  
  186.     END
  187.  
  188. ERRQUIT:
  189.     i% = DoMsgBox("Setup sources were corrupted, call the included support number", "Setup Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  190.     END
  191.  
  192. ASKQUIT:
  193.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  194.  
  195.     IF sz$ = "EXIT" THEN
  196.         UIPopAll
  197. ''        ERROR STFQUIT
  198.         END
  199.     ELSEIF sz$ = "REACTIVATE" THEN
  200.         GOTO ASKQUIT
  201.     ELSE
  202.         UIPop 1
  203.     END IF
  204.     RETURN
  205.  
  206. TOOBIG:
  207.     sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
  208.     IF sz$ = "REACTIVATE" THEN
  209.         GOTO TOOBIG
  210.     END IF
  211.     UIPop 1
  212.     RETURN
  213.  
  214. '**
  215. '** Purpose:
  216. '**     Appends a file name to the end of a directory path,
  217. '**     inserting a backslash character as needed.
  218. '** Arguments:
  219. '**     szDir$  - full directory path (with optional ending "\")
  220. '**     szFile$ - filename to append to directory
  221. '** Returns:
  222. '**     Resulting fully qualified path name.
  223. '*************************************************************************
  224. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  225.     IF szDir$ = "" THEN
  226.         MakePath = szFile$
  227.     ELSEIF szFile$ = "" THEN
  228.         MakePath = szDir$
  229.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  230.         MakePath = szDir$ + szFile$
  231.     ELSE
  232.         MakePath = szDir$ + "\" + szFile$
  233.     END IF
  234. END FUNCTION
  235.  
  236. BADPATH:
  237.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  238.     IF sz$ = "REACTIVATE" THEN
  239.         GOTO BADPATH
  240.     END IF
  241.     UIPop 1
  242.     RETURN
  243.